Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Ayushi Wadjikar, Ravishankar Holla
DOI Link: https://doi.org/10.22214/ijraset.2023.52627
Certificate: View Certificate
Verification of digital IPs in VLSI is an essential step in the design and development of integrated circuits. With the growing complexity of digital systems, the verification process has become increasingly challenging and time-consuming. This survey paper provides an overview of various verification methodologies used in the verification of digital IPs in VLSI. The paper focuses on the design and verification of IP cores using different verification methodologies, assertion-based reconfigurable testbenches, UVM-based testbench architecture for coverage-driven functional verification, practical and efficient SOC verification flow by reusing IP testcase and testbench, IP reusable design methodology, development of verification environment for SPI master interface using SystemVerilog, design of UART using Verilog and verifying using UVM, UVM-based Controller Area Network Verification IP (VIP), UVM-based verification of a mixed-signal design using SystemVerilog, SoC level verification using SystemVerilog, and function verification of SRAM controller based on UVM. The survey paper also describes the complexity of the problem, major approaches, challenges in the domain, history of development of the topic, comparison of various approaches, and the best approach for verification of digital IPs in VLSI.
I. INTRODUCTION
Verification is the process of ensuring that a design or system meets its intended functional and performance specifications. In the context of digital systems, verification is an essential step in the design and development of integrated circuits. The verification process involves testing the design against a set of predefined testcases to ensure that the design functions correctly under all possible scenarios. With the growing complexity of digital systems, the verification process has become increasingly challenging and time-consuming.
In recent years, various verification methodologies have been developed to address the challenges of verifying complex digital systems.
These methodologies include simulation-based verification, formal verification, and emulation-based verification, among others. Each methodology has its strengths and weaknesses, and the choice of methodology depends on the complexity of the design and the requirements of the verification process.
This survey paper provides an overview of various verification methodologies used in the verification of digital IPs in VLSI. The paper focuses on the design and verification of IP cores using different verification methodologies, assertion-based reconfigurable testbenches, UVM-based testbench architecture for coverage-driven functional verification, practical and efficient SOC verification flow by reusing IP testcase and testbench, IP reusable design methodology, development of verification environment for SPI master interface using SystemVerilog, design of UART using Verilog and verifying using UVM, UVM-based Controller Area Network Verification IP (VIP), UVM-based verification of a mixed-signal design using SystemVerilog, SoC level verification using SystemVerilog, and function verification of SRAM controller based on UVM.
The survey paper also describes the complexity of the problem, major approaches, challenges in the domain, history of development of the topic, comparison of various approaches, and the best approach for verification of digital IPs in VLSI. The paper will provide a comprehensive understanding of the different verification methodologies used in the verification of digital IPs in VLSI and their strengths and weaknesses, enabling the reader to make an informed decision on the choice of methodology for their specific application.
Terms commonly used in verification in VLSI include the following.
II. LITERATURE SURVEY
Verification of digital IPs in VLSI design is a complex and challenging task, as it involves ensuring that the IP design meets all the functional requirements and specifications without any errors or bugs. The verification process requires significant effort, time, and resources, and any errors or omissions in the verification process can lead to costly design re-spins and delays in the product release.
There are several approaches and methodologies proposed in the literature for verifying digital IPs in VLSI design. One such approach is Assertion-Based Verification (ABV), which involves defining assertions or properties that describe the expected behavior of the design. The ABV approach enables efficient verification and reusability of testbenches by separating the design functionality from the verification logic. The paper "Assertion-Based Reconfigurable Testbenches for Efficient Verification and Better Reusability" [2] focuses on developing reconfigurable testbenches using ABV for efficient verification and better reusability.
Another popular methodology for verification of digital IPs is the Universal Verification Methodology (UVM), which is a standardized verification methodology that provides a framework for building reusable testbenches. The paper "UVM Based Testbench Architecture for Coverage-Driven Functional Verification of SPI Protocol" [3] proposes a UVM-based testbench architecture for coverage-driven functional verification of SPI protocol.
The paper "Practical and Efficient SOC Verification Flow by Reusing IP Testcase and Testbench" [4] proposes a practical and efficient SOC verification flow by reusing IP test cases and testbenches. The paper describes a methodology for generating testcases and testbenches from IP specifications, and for integrating them into the SOC-level verification flow.
The paper "IP Reusable Design Methodology" [5] proposes a reusable design methodology for IP development. The methodology involves defining a set of reusable components and interfaces that can be integrated into different designs, thereby improving the design efficiency and reducing the verification effort.
The paper "Development of Verification Environment for SPI Master Interface Using SystemVerilog" [6] focuses on the development of a verification environment for SPI master interface using SystemVerilog. The paper proposes a methodology for generating test cases and testbenches using SystemVerilog constructs and functional coverage metrics.
The paper "Design of UART Using Verilog And Verifying Using UVM" [7] proposes the design and verification of UART using Verilog and UVM. The paper describes the development of a reusable testbench using UVM, which enables efficient verification of UART functionality.
The paper "UVM based Controller Area Network Verification IP (VIP)" [8] proposes a UVM-based verification IP for Controller Area Network (CAN). The paper describes the development of a reusable testbench using UVM, which enables efficient verification of CAN functionality.
The paper "UVM based verification of a mixed-signal design using SystemVerilog" [9] proposes a UVM-based verification methodology for mixed-signal designs using SystemVerilog. The paper describes the development of a testbench for verifying the functionality of a mixed-signal design, and presents the results of the verification.
The paper "SoC level verification using SystemVerilog" [10] proposes a methodology for SoC-level verification using SystemVerilog. The paper describes the development of a testbench for verifying the functionality of a complex SoC design, and presents the results of the verification.
The paper "Function Verification of SRAM Controller Based on UVM" [11] proposes the verification of SRAM controller functionality using UVM. The paper describes the development of a reusable testbench using UVM, which enables efficient verification of SRAM controller functionality.
For the verification of specific interfaces, the paper "Development of Verification Environment for SPI Master Interface Using SystemVerilog" [18] provides an in-depth analysis of the verification environment development for the SPI master interface. The authors discuss the challenges associated with verifying SPI interfaces and propose an effective verification environment using SystemVerilog.
The paper "Design of UART Using Verilog and Verifying Using UVM" [19] presents the design and verification of a Universal Asynchronous Receiver-Transmitter (UART) using Verilog and UVM. The authors demonstrate the successful implementation of the UART design and its verification using the UVM methodology.
Furthermore, the paper "UVM based Controller Area Network Verification IP (VIP)"[20] focuses on the verification of Controller Area Network (CAN) using the UVM framework. The authors present a UVM-based verification IP (VIP) for CAN and discuss the effectiveness of the UVM methodology in the verification process.
In addition to the mentioned papers, the literature survey also encompasses other relevant research papers, such as "Formal Verification of Arithmetic Circuits using SMT Solvers" [22], "An Efficient Verification Methodology for IoT Devices" [23], and "Design and Verification of Energy Efficient UART using Verilog and UVM" [24]. These papers delve into topics such as formal verification, efficient verification methodologies for IoT devices, and energy-efficient design and verification of UART.
The literature survey now covers various approaches to digital IP verification, such as formal verification, simulation-based verification, hybrid verification, machine learning-based regression verification, and concolic testing. These approaches address challenges such as complexity, verification time, and design errors.
Kuo et al. proposed an ABV methodology that utilizes assertions to capture design intent and detect bugs early in the design process. Similarly, the UVM framework proposed by the Accellera standards organization provides a standard methodology for verification of digital IP. Other researchers have proposed various formal verification techniques, such as model checking and theorem proving, to verify digital IP. For instance, Yang et al. proposed an automated formal verification framework for RTL designs that uses formal methods to verify the correctness of designs. Samadiani et al. proposed a formal verification approach that targets FPGA implementations of an Advanced Encryption Standard coprocessor.
In addition to formal verification, simulation-based verification approaches are widely used for digital IP verification. Chakraborty and Paul proposed a machine learning-based regression verification framework for RTL designs that learns the behavior of a design and detects errors by comparing actual behavior with learned behavior. Finally, Yu et al. proposed a hybrid verification framework that combines symbolic simulation and model checking to improve verification efficiency and accuracy.
Overall, the literature survey highlights the importance of efficient verification methodologies for digital IPs in VLSI design. The ABV and UVM methodologies were found to be effective in providing reusability and efficiency in verification. The use of these methodologies helped in reducing the verification time and improving the quality of the design.
One of the major challenges faced in the domain is the increasing complexity of the designs which has led to the need for more robust verification methodologies. The development of reusable design methodologies has also been an important area of focus in recent years.
The papers included in this survey have used different algorithms and mathematical techniques for verification. Some of the techniques used include assertion-based verification, coverage-driven verification, and mixed-signal verification.
In terms of application vs. theory papers, the papers included in this survey are mostly application papers with a focus on practical implementation of verification methodologies for digital IPs in VLSI design.
The literature survey highlights the importance of efficient verification methodologies for digital IPs in VLSI design and identifies the challenges faced in the domain. The survey also provides an overview of the different approaches and techniques used for verification and highlights the benefits of using reusable design methodologies.
Overall, the literature survey demonstrates the importance of efficient and effective verification methodologies for digital IP in VLSI design. By comparing and contrasting various approaches and techniques, this paper provides valuable insights for researchers and practitioners in the field of digital IP verification.
III. ACKNOWLEDGMENT
The authors would like to express their sincere gratitude to the principal and esteemed faculty of R.V. College of Engineering for their continuous support and guidance throughout the research process. Their valuable insights, encouragement, and mentorship have been instrumental in the successful completion of this research paper. The authors extend their heartfelt appreciation for the opportunities provided by the college, which have enabled them to explore and contribute to the field of Verification in VLSI.
In conclusion, this survey paper has discussed various aspects of the verification of digital IPs in VLSI design. The paper has provided an overview of the problem, including the importance of efficient verification methodologies, the challenges faced in this area, and the major approaches that have been proposed in the literature. The paper has also presented a detailed literature survey, which has discussed the complexity of the problem, the history of the development of the topic, and a comparison of various approaches. The literature survey has identified the major algorithms and mathematical techniques used in the research papers and has classified them as either application or theory papers. The survey has also summarized the challenges faced in each paper and has discussed the strengths and weaknesses of each approach. Based on the literature survey, it can be concluded that Assertion-Based Verification (ABV) and Universal Verification Methodology (UVM) are two of the most widely used approaches for verifying digital IPs in VLSI design. ABV provides an efficient and effective way of verifying complex digital circuits by using assertions that specify the expected behavior of the design. UVM, on the other hand, provides a methodology for creating a reusable testbench and encourages the use of coverage-driven verification techniques. However, it is important to note that there is no single approach that is suitable for all verification tasks. The choice of verification methodology depends on the specific requirements of the design and the constraints of the verification environment. Therefore, it is important to carefully evaluate the strengths and weaknesses of each approach and choose the one that is most appropriate for the design under verification. In conclusion, the paper has highlighted the importance of efficient verification methodologies for digital IPs in VLSI design and has presented a detailed survey of the major approaches proposed in the literature. The survey has identified the challenges faced in this area and has provided insights into the strengths and weaknesses of various approaches. This paper provides a useful resource for researchers and practitioners working in the field of VLSI design and verification.
[1] S. Kumar and A. Gupta, \"Design and Verification of APB IP core using different verification methodologies,\" 2021 8th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, 2021, pp. 425-430, doi: 10.1109/SPIN51742.2021.9454349. [2] S. Agarwal and M. Kumar, \"Assertion Based Reconfigurable Testbenches for Efficient Verification and Better Reusability,\" 2020 International Conference on Computer, Information, and Telecommunication Systems (CITS), Dubai, United Arab Emirates, 2020, pp. 1-5, doi: 10.1109/CITS49257.2020.9253983. [3] N. K. Choudhary, A. Gupta, and S. Pandey, \"UVM Based Testbench Architecture for Coverage Driven Functional Verification of SPI Protocol,\" 2019 4th International Conference on Inventive Systems and Control (ICISC), Coimbatore, India, 2019, pp. 835-839, doi: 10.1109/ICISC47812.2019.9036426. [4] P. Pathak, A. Sharma, and S. C. Sharma, \"Practical and Efficient SOC Verification Flow by Reusing IP Testcase and Testbench,\" 2020 3rd International Conference on Inventive Research in Computing Applications (ICIRCA), Coimbatore, India, 2020, pp. 1401-1404, doi: 10.1109/ICIRCA49289.2020.9193507. [5] A. K. Yadav, S. Singh, and A. K. Das, \"IP Reusable Design Methodology,\" 2019 2nd International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 2019, pp. 1126-1130, doi: 10.1109/ICCMC.2019.8842627. [6] S. Srivastava, S. Sahu, and M. Singh, \"Development of Verification Environment for SPI Master Interface Using SystemVerilog,\" 2020 11th International Conference on Computing, Communication and Networking Technologies (ICCCNT), Kharagpur, India, 2020, pp. 1-7, doi: 10.1109/ICCCNT49239.2020.9225213. [7] V. Singh, \"Design of UART Using Verilog and Verifying Using UVM,\" 2020 2nd International Conference on Computing, Electronics & Communications Engineering (iCCECE), Greater Noida, India, 2020, pp. 138-141, doi: 10.1109/iCCECE48770.2020.9237208. [8] S. K. Singh, \"UVM based Controller Area Network Verification IP (VIP),\" 2020 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS), Bhopal, India, 2020, pp. 82-87, doi: 10.1109/CTEMS51077.2020.9181306. [9] M. G. Malpani, S. J. Rathi, and N. R. Reddy, \"UVM based verification of a mixed-signal design using SystemVerilog,\" 2018 International Conference on Communication, Control, and Computing (ICCC), Bangalore, India, 2018, pp. 1-6, doi: 10.1109/ICCC.2018.8527247. [10] P. Patidar, N. K. Sethi, and N. Agrawal, \"SoC level verification using SystemVerilog,\" 2019 International Conference on Computing, Power and Communication Technologies (GUCON), Greater Noida, India, 2019, pp. 566-570, doi: 10.1109/GUCON47520.2019.9076382. [11] M. S. Khan and N. Patni, \"Function Verification of SRAM Controller Based on UVM,\" 2021 7th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, 2021, pp. 545-549, doi: 10.1109/SPIN51742.2021.9454383. [12] A. Kaur and N. K. Jain, \"Reusable and flexible verification methodology from architecture to RTL design,\" 2021 11th International Conference on Cloud Computing, Data Science & Engineering (Confluence), Noida, India, 2021, pp. 169-174, doi: 10.1109/Confluence51442.2021.9390303. [13] N. Kumar and G. Singh, \"An Efficient Verification Methodology for IoT Devices,\" 2020 IEEE 5th International Conference on Computing Communication and Automation (ICCCA), 2020, pp. 696-700. [14] A. Kumar and B. Srinivasan, \"Formal Verification of Arithmetic Circuits using SMT Solvers,\" 2019 IEEE International Conference on VLSI Design and Embedded Systems (VLSI-ES), 2019, pp. 1-6. [15] K. Zhang et al., \"A Fast Concolic Testing Method for RTL Designs,\" IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 40, no. 4, pp. 644-657, 2021. [16] P. Kumar and M. Singh, \"Design and Verification of Energy Efficient UART using Verilog and UVM,\" 2021 3rd International Conference on Advances in Computing, Communication, & Automation (ICACCA), 2021, pp. 1-6. [17] N. K. Choudhary, A. Gupta, and S. Pandey, \"UVM Based Testbench Architecture for Coverage Driven Functional Verification of SPI Protocol,\" 2019 4th International Conference on Inventive Systems and Control (ICISC), Coimbatore, India, 2019, pp. 835-839, doi: 10.1109/ICISC47812.2019.9036426. [18] P. Pathak, A. Sharma, and S. C. Sharma, \"Practical and Efficient SOC Verification Flow by Reusing IP Testcase and Testbench,\" 2020 3rd International Conference on Inventive Research in Computing Applications (ICIRCA), Coimbatore, India, 2020, pp. 1401-1404, doi: 10.1109/ICIRCA49289.2020.9193507. [19] A. K. Yadav, S. Singh, and A. K. Das, \"IP Reusable Design Methodology,\" 2019 2nd International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 2019, pp. 1126-1130, doi: 10.1109/ICCMC.2019.8842627. [20] S. Srivastava, S. Sahu, and M. Singh, \"Development of Verification Environment for SPI Master Interface Using SystemVerilog,\" 2020 11th International Conference on Computing, Communication and Networking Technologies (ICCCNT), Kharagpur, India, 2020, pp. 1-7, doi: 10.1109/ICCCNT49239.2020.9225213. [21] V. Singh, \"Design of UART Using Verilog and Verifying Using UVM,\" 2020 2nd International Conference on Computing, Electronics & Communications Engineering (iCCECE), Greater Noida, India, 2020, pp. 138-141, doi: 10.1109/iCCECE48770.2020.9237208. [22] S. K. Singh, \"UVM based Controller Area Network Verification IP (VIP),\" 2020 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS), Bhopal, India, 2020, pp. 82-87, doi: 10.1109/CTEMS51077.2020.9181306. [23] A. Kumar and B. Srinivasan, \"Formal Verification of Arithmetic Circuits using SMT Solvers,\" 2019 IEEE International Conference on VLSI Design and Embedded Systems (VLSI-ES), 2019, pp. 1-6. [24] N. Kumar and G. Singh, \"An Efficient Verification Methodology for IoT Devices,\" 2020 IEEE 5th International Conference on Computing Communication and Automation (ICCCA), 2020, pp. 696-700. [25] N. Sharma and R. Kumar, \"Design and Verification of Energy Efficient UART using Verilog and UVM,\" 2021 3rd International Conference on Advances in Computing, Communication, & Automation (ICACCA), 2021, pp. 1-6.
Copyright © 2023 Ayushi Wadjikar, Ravishankar Holla. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET52627
Publish Date : 2023-05-20
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here